package com.sann.demo;

import com.sann.config.SpringConfig;
import com.sann.demo.service.IAccountService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**
 * Spring纯注解版事务演示
 * 1、主配置类开启Spring扫描业务包 @ComponentScan("com.sann.demo")
 * 2、主配置类上引入数据源配置文件和事务相关配置文件 @Import({JdbcConfig.class, TransactionConfig.class})
 * 3、主配置类上开启事务支持 @EnableTransactionManagement
 * 4、数据源配置文件里面配置 DataSource和JdbcTemplate对应Bean，注入容器
 * 5、事务相关配置文件里面配置事务管理器PlatformTransactionManager并注入容器
 * 6、业务层需要事务支持的方法或者类上标注事务注解 @Transactional
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={SpringConfig.class})
public class Client {

    @Autowired
    private IAccountService accountService;


    @Test
    public void testTransfer(){
        accountService.transfer("zs","ls",100);
    }

}
